package com.triones.api.mapper;

import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.triones.api.entity.CryptoBillDO;
import com.triones.api.entity.CryptoChainDO;
import com.triones.api.entity.sta.ChainTotal;
import com.triones.api.entity.sta.CryptoMemberWithdrawProfit;
import com.triones.api.entity.sta.ValueName;
import com.triones.api.entity.vo.CryptoBillVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 加密货币账单（出入账） Mapper 接口
 */
public interface CryptoBillMapper extends BaseMapperPlus<CryptoBillMapper, CryptoBillDO, CryptoBillVO> {

    /**
     * 查询所有公链中含有该币种的数量
     * @param ccy
     * @return
     */
    List<ChainTotal> selectCcyTotalByChain(@Param("ccy") String ccy, @Param("scenes") List<String> scenes);

    /**
     * 用户出金利润统计
     * @return
     */
    List<CryptoMemberWithdrawProfit> cryptoMemberWithdrawProfitStaByTransferOut();

    /**
     * 用户出金利润统计
     * @return
     */
    List<CryptoMemberWithdrawProfit> cryptoMemberWithdrawProfitStaByTransferFiat();

    /**
     * 查询入金统计按照公链和年
     * @param chain
     * @param year
     * @return
     */
    List<ValueName> cryptoDepositTotalByChainAndYearSta(@Param("chain") String chain,@Param("year") String year);
}
